Instantaneous symbol lookup

ABSTRACT

A computer program assists in the completion of text input provided by a user. For example, the computer program may maintain a list of n-tuples (where n&gt;1), each of which includes n text strings. For example, each n-tuple may include a stock ticker symbol and the name of a company having that stock ticker symbol. As the user types each character, the program determines whether the text typed by the user so far matches any of the text strings in the n-tuples. The program provides the user with an indication of whether any matches have been found, such as by displaying a list of the n-tuples having text matching the text typed by the user so far. The program then allows the user to select one of the matching n-tuples. The program uses text (such as a stock ticker symbol) from the user&#39;s selection to complete the text input.

RELATED APPLICATIONS

The present application is a continuation of U.S. application Ser. No.11/384,957 filed Mar. 20, 2006, now issued under U.S. Pat. No.7,529,795, which is incorporated herein by reference and which, in turn,incorporates by reference U.S. Provisional Application Ser. No.60/784,141 filed Mar. 20, 2006 and U.S. Provisional Application Ser. No.60/784,140 filed Mar. 20, 2006, both of which are incorporated herein byreference.

BACKGROUND

1. Field of the Invention

The present invention relates to computer-implemented techniques forassisting in the completion of text inputted by a user and, moreparticularly, to identifying candidate text to input into a text fieldbased on text typed by a user into the text field.

2. Related Art

Computer software has long been used to reduce the effort that computerusers need to expend to provide textual input. For example, conventionalword processing software typically supports macros, which may bepre-defined by the software vendor and/or defined by the user, forreplacing a short text string typed by the user with a longer textstring, thereby eliminating the need for the user to manually type thelonger text string. For example, consider a macro which defines the text“Sincerely yours” as a replacement for the text “sy”. When the usertypes “sy”, the word processor may automatically replace “sy” with“Sincerely yours”.

The word processor may maintain multiple macros, each of which defines amapping between source text (the text typed by the user) and replacementtext. As the user types, the word processor determines whether the textmost recently typed by the user matches the source text of any existingmacro. If such a match is found, the word processor replaces the typedsource text with the corresponding replacement text defined by themacro. This feature is implemented, for example, in the widely usedMicrosoft Word word processor as part of the “AutoCorrect” feature.

Another technique that some computer software uses to reduce the numberof keystrokes required to be typed by the user is the following. As theuser types, the software attempts to match the most-recently typed textagainst text previously typed by the user in the same context. Forexample, in some web browsers, as the user types the web address (URL)of a web site in the address bar, the web browser attempts to match theaddress being typed by the user with addresses previously typed by theuser. As the user types, the web browser displays a list of matches.

For example, assume that the user has previously typed “www.google.com”,“www.books.com”, “www.booksamillion.com”, and “www.booksense.com” intothe address bar. If the user next begins typing “www” into the addressbar, the web browser may display all four previously-typed addressesbelow the address bar, because “www” matches the beginning of all suchaddresses.

If the user continues to type “www.books”, the web browser willeliminate “ww.google.com” from the list of possible matches because itno longer matches the text being typed by the user. The list will still,however, display “www.books.com”, “www.booksamillion.com”, and“www.booksense.com” in the list, because all three of thesepreviously-typed addresses match the text being typed by the user. Asthe user continues to type, any address having leading text that doesnot match the typed text will be eliminated from the list of potentialmatches.

At any point, the user may select one of the addresses in the list ofpossible matches (such as by using a mouse to click on the address or byusing the arrow and ENTER keys on the keyboard), thereby causing theselected address to be entered into the address bar, and therebyeliminating the need for the user to manually type the entire address.This can save the user significant time and effort, particularly whenthe address selected is very long. This feature has been used moregenerally in various other kinds of software requiring the user to typetext into the same form fields on multiple occasions.

Users stand to benefit from additional features which reduce the numberof keystrokes required to be made by the user.

SUMMARY

A computer program assists in the completion of text input provided by auser. For example, the computer program may maintain a list of n-tuples(where n>1), each of which includes n text strings. For example, eachn-tuple may include a stock ticker symbol and the name of a companyhaving that stock ticker symbol. As the user types each character, theprogram determines whether the text typed by the user so far matches anyof the text strings in the n-tuples. The program provides the user withan indication of whether any matches have been found, such as bydisplaying a list of the n-tuples having text matching the text typed bythe user so far. The program then allows the user to select one of thematching n-tuples. The program uses text (such as a stock ticker symbol)from the user's selection to complete the text input.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a dataflow diagram of a message board aggregation systemaccording to one embodiment of the present invention;

FIG. 2 is a flowchart of a method performed by the system of FIG. 1according to one embodiment of the present invention; and

FIG. 3 is a window displayed by the message board aggregation system ofFIG. 1 according to one embodiment of the present invention.

FIGS. 4A-4C are illustrations of a graphical user interface text inputcontrol for use in assisting in the completion of text input by a useraccording to embodiments of the present invention.

FIGS. 5A-5B are illustrations of web page hyperlinks displayed byembodiments of the present invention.

DETAILED DESCRIPTION

Referring to FIG. 1, a dataflow diagram is shown of a message boardaggregation system 100 according to one embodiment of the presentinvention. Referring to FIG. 2, a flowchart is shown of a method 200performed by the system 100 of FIG. 1 according to one embodiment of thepresent invention. Referring to FIG. 3, a window 300 displayed by themessage board aggregation system 100 of FIG. 1 is illustrated accordingto one embodiment of the present invention.

In general, the window 300 shown in FIG. 3 contemporaneously displays atable 302 containing message table content (e.g., message title, messageauthor, message ID, message sentiment, message time of writing, messageweb page source, person being replied to) and message content 304corresponding to a message represented by one of the entries in themessage table 302. In the embodiment illustrated in FIG. 3, the messagecontent 304 is displayed in a web page 306 from a message board web siteto which the message content 304 was originally posted. In theembodiment illustrated in FIG. 3, the source web page 306 (containingthe message content 304) is displayed in a first frame 308 of the webpage 300, and the message table 302 is displayed in a second frame 310of the web page 300.

The web page 306 is an example of a “source” web page as that term isused herein. The message table 302 may include summaries of messagesoriginally posted to more than one source web page. The web page 300,therefore, provides an aggregation service which aggregates messagesfrom a plurality of web-based message boards. The web page 300,therefore, is referred to herein as an “aggregation” web page.

Having described certain general features of particular embodiments ofthe present invention, techniques that may be used to implementembodiments of the present invention will now be disclosed. Referring toFIG. 1, multiple external message boards 102 a-m are illustrated. Forease of illustration and explanation, each of the message boards 102 a-mis illustrated simply as a set of messages. More specifically, messageboard 102 a includes a set of messages 104 a, including messages 106a-n; message board 102 b includes a set of messages 104 b, includingmessages 108 a-n; and message board 102 m includes a set of messages 104m, including messages 110 a-n. In practice, the message boards 102 a-mmay be implemented using web servers or any other appropriate kind oftechnology.

Furthermore, although only three external message boards 102 a, 102 b,and 102 m are shown in FIG. 1 for purposes of example, the system 100may include and/or access any number of external message boards, asindicated by the variable m. Furthermore, the term “message board” isnot limited to any-particular kind of communications mechanism, andincludes not only web-based message boards, but also newsgroups andemail. Although each of the message boards 102 a-m is shown in FIG. 1 asincluding the same number of messages n, the number of messages may varyamong the message boards 102 a-m.

A single message board, such as a web-based financial message board, mayinclude a plurality of topics, each of which may include a plurality ofthreads or sub-topics. For ease of illustration and explanation, each ofthe message boards 102 a-m is illustrated in FIG. 1 as containing only asingle thread of messages. This does not represent a limitation of thepresent invention. Rather, the techniques disclosed herein may beapplied to message boards including any number of topics, threads, orother groupings of messages.

The aggregation system 100 also includes a message board aggregationserver 112 and a corresponding message board 114 (which includes set 116of messages 118 a-n). The message board 114 is managed by theaggregation server 112 or by the same entity that manages theaggregation server. Therefore, the message board 114 will be referred toherein as an “internal” message board, while the message boards 102 a-mwill be referred to herein as “external” message boards in relation tothe aggregation server 112. As will be described in more detail below,the aggregation server 112 aggregates messages from two or more of themessage boards 102 a-m and 114, and displays content from the aggregatedmessages in the web page 300.

Referring again to FIG. 2, the system 100 of FIG. 1 may perform themethod 200 to aggregate content from the message boards 102 a-m and 114to display aggregated message content in the window 300. A user 142 usesa web browser 140 to browse over the Internet 138 to a web site servedby the aggregation server 112. The web page 300 is an example of a webpage that may be part of such a web site. Upon visiting the web site,the user 142 selects one or more source message boards from which toview message content and summaries (step 202). The user 142 may, forexample, make this selection by selecting the name of an externalmessage board (such as one of the external message boards 102 a-m) froma selection of sources accessible in any of a variety of formats, oneexample of which is a drop-down list 316. Note, however, that the user142 may select more than one source message board.

In the particular example illustrated in FIG. 3, the web page 300combines content extracted from the single external message boardindicated by the selection in the drop-down list 316 with contentextracted from the internal message board 114 associated with theaggregation server 112. Furthermore, in the example illustrated in FIG.3, the user 142 may use drop-down list 318 to select the number ofmessage summaries to be displayed in message table 302.

The user 142 selects other input parameters (such as the number ofmessages to be retrieved) (step 203). As described in more detail below,the aggregation server 112 may store the other input parameters in a setof other preferences 126.

The user 142 selects a particular message board topic to view (step204). The user 142 may, for example, make this selection by identifyinga particular company, such as by typing the company's name or stockticker symbol in text field 312 and clicking button 314. This is onlyone of many ways in which the user may select a message board topic toview.

Furthermore, in the embodiment illustrated in FIG. 3, the web page 300also includes a directory (forum) 334 user interface control which may,for example, take the form of a drop-down list. For example, thedirectory control 334 may allow the user to select either a “stock”forum or a “sports” forum. If the user 142 selects the “stock” forum,then the web page 300 may enable selection of stock symbols in textfield 312, while if the user 142 selects the “sports” forum, then theweb page 300 may enable selection of sports symbols in text field 312.More generally, the user's selection in the directory control 334dictates which group of symbols is available for selection in the textinput field 312. The use of the directory control 334 is provided merelyfor purposes of example and does not constitute a limitation of thepresent invention.

The user's message board selection is transmitted by the web browser 140over the Internet 138 to the message board aggregation server 112. Inresponse to receiving the user's selection, the aggregation server 112retrieves information derived from messages in the selected sourcemessage board(s) having the selected topic (step 206). In the embodimentillustrated in FIG. 3, the aggregation server 112 also retrieves messagecontent from the internal message board 114. This is not, however, arequirement of the present invention. The internal message board 114may, for example, be selectable or de-selectable as a source by the user142 in the same manner as the external message boards 102 a-m.

Note further that any subset of the external message boards 102 a-m maybe selectable as a source by the user 142. Such a subset may, forexample, consist of all of the external message boards 102 a-m, any oneof the message boards 102 a-m, or any combination of fewer than all ofthe message boards 102 a-m.

The information extracted from the selected source message board(s) bythe aggregation server may include any of a variety of information thatmay be of interest to the user 142. Examples of information that may beextracted from each on-topic message in the selected message board(s)includes, but is not limited to the message title, author, ID,sentiment, time of writing, web page source, person being replied to,and message statistics (e.g., the number of times others haverecommended the message, or a rating of the popularity of the message).

At any time during performance of the method 200 illustrated in FIG. 2,the user 142 may select one or more fields to be displayed in themessage table 302 (step 208). For example, in the embodiment illustratedin FIG. 3, the message table includes a column 322 a labeled “MessageTitles,” which always displays the titles of the messages summarized inthe table 302. The table 302 also includes, however, a second column 322b having content that may-be varied by the user 142. More specifically,the user 142 may select link 320 a to cause the column 322 b to displaythe authors of the messages being summarized in the table 302 (asillustrated in FIG. 3). Similarly, the user 142 may select link 320 b tocause the column 322 b to display the times at which the messages beingsummarized in the table 302 were posted.

The particular selection of fields allowed in the embodiment illustratedin FIG. 3 is merely an example and does not constitute a limitation ofthe present invention. Rather, the user 142 may be allowed to select anycombination of message fields for display in the table 302. Otherexamples of two fields from which the user 142 may select include, butare not limited to: message Title and Author fields; message Title andTime Submitted fields; and message Author and Author Attribute fields.Furthermore, a single column in the table 302 may display content frommore than one field. For example, a single “time and author” column maysimultaneously display both message time and author.

At any time during performance of the method 200 illustrated in FIG. 2,the user 142 may select an order in which message summaries are to besorted in the message table 302 (step 210). For example, in theembodiment illustrated in FIG. 3, the user 142 may select the heading ofcolumn 322 a to cause the contents of the table 302 to be sorted bymessage title, or select the heading of column 322 b to cause thecontents of the table 302 to be sorted by the contents of column 322 b(e.g., message author or posting time). Alternatively, for example, thecontents of the table 302 may be sorted automatically by posting time.Once again, these particular sorting options are merely examples and donot constitute limitations of the present invention.

The aggregation server 112 keeps track of: (1) the source messageboard(s) selected by the user 142 in source selections 1-20; (2) thetopic (e.g., company) selected by the user 142 in topic selection 121;(3) the field(s) selected by the user 142 in field selections 122; (4)the sort order 124 selected by the user 142 in sort order 124; and (5)any other preferences 126 specified by the user 142.

The aggregation server 112 includes an aggregation engine 128, whichgenerates message content units 132 based on the information extractedin step 206 and the user preferences described above (step 212). Forexample, the message content units 132 may include a content unit foreach message that matches the topic selection 121 (e.g., company) in anyof the source message board(s) indicated by the source selection(s) 120.Each of the message content units 132 may include information only forthe fields specified by the field selections 122, but this is notrequired. The message content units 132 may, for example, includeextracted information for fields other than those specified by the fieldselections. The message content units 132 may include all of theinformation that was extracted in step 206.

As will be described in more detail below, the information in themessage content units 132 forms the basis for the information displayedin the message table 302 on the web page 300 (FIG. 3). In the embodimentillustrated in FIG. 3, the frame 308 displays a web page 308corresponding to one of the message summaries displayed in the messagetable 302. When the web page 300 is first displayed, the message contentcorresponding to the first message summary in the table 302 may bedisplayed by default in the frame 308. Thereafter, the user 142 mayselect any of the message summaries in the table 302, such as byclicking on the title of the message in column 322 a, to cause messagecontent for a different message to be displayed-in the frame 308.

The aggregation engine 128, therefore, provides message content 130corresponding to the currently-selected message summary in the messagetable 302 (step 214). The aggregation engine 128 may, for example,provide the content 130 in the form of HTML and/or other web content bycopying the content 130 from its source message board (e.g., one of theexternal message boards 102 a-m or the internal message board 114). Thecontent 130 may either be copied to a storage medium local to theaggregation server 112, or merely passed as a reference to the clientweb browser 140, which may retrieve the message content 130 directlyfrom its source and display it in the frame 308, without using theaggregation server 112 to serve the content 130 to the user 142.

The aggregation server 112 includes a web page generator 134, whichproduces an aggregated web page 136 (including HTML and/or other webcontent) that includes both the message content units 132 and themessage content 130 (or a link to the message content 130) (step 216).The aggregated web page 136 may, for example, include a first frame fordisplaying a table including information from the message content units132, and a second frame for displaying the message content 130.

The aggregation server 112 transmits the aggregated web page 136 to theweb browser 140 over the Internet (step 218). The web browser 140displays a window (such as the window 300 shown in FIG. 3) including:(1) web content (such as the web page 306) representing a first messageposted to a first online forum, such as the external message board 102a; and (2) a plurality of message summaries (such as are displayed inthe table 302) including information derived from the first message(such as the message summary 324 of the message 304) and secondinformation derived from a second message in the plurality of messages(such as the message summary 326 of another message not displayed in thewindow 300). The web content and the message summaries may be displayedin different frames in the same window.

As described above, the message content units 132 that are downloaded bythe web browser 140 to the local machine of the user 142 may includemore information than is displayed in the table 302. The table 302 may,for example, be designed to display only the information that isconsidered most important to the user 142, such as the title, author,and/or timestamp of the aggregated messages. The user 142 may, however,read a particular one of the message summaries in the table 302 anddesire to obtain additional information about the corresponding message.Although the user 142 could obtain such additional information byclicking on the message summary, thereby causing the correspondingmessage web content to be displayed in the frame 308, this requires theweb browser 140 to download and render additional web content. Acquiringadditional information about many messages in this way may therefore betedious and time-consuming.

Alternatively, the web page 300 allows the user 142 to quickly obtainadditional summary information about any message listed in the table 302by, for example, moving and holding (“hovering”) the mouse cursor overthe message's summary. For example, in the case illustrated in FIG. 3,the user 142 has hovered the mouse cursor over message summary 324,thereby causing the web page 300 to display a tooltip 328 containingadditional summary information about the source message 304. In theexample illustrated in FIG. 3, the tooltip 328 includes additionalinformation such as the message ID, author, sentiment, date and time,and the beginning of the message text.

Because the additional summary information has been preloaded by the webbrowser 140 in the process of downloading the message content units 132from the aggregation server 112, the web browser 140 may generate anddisplay the tooltip essentially instantaneously, and without againaccessing the server 112. This allows the user 142 to quickly browsesuch additional information for many messages listed in the table 302quickly and easily, simply by moving the mouse cursor over thecorresponding message summaries.

The aggregation of messages from multiple message boards at multipleURLs into a single rich web page, including content initially is hiddenand that may be displayed essentially instantaneously by the web browserclient 140 without the need to make an additional access to the server112, is made convenient by the increasing availability of broadbandconnectivity to users. Such broadband connectivity increasingly isavailable not only through wired networks at home and in the workplacebut also through wireless networks accessible using mobile computingdevices. By making it feasible for the client web browser 140 todownload content-rich web pages without causing the user 142 to incur asignificant delay before the web page is displayed, broadbandconnections allow the web browser 140 to provide a degree ofinteractivity in web pages that approaches or even matches thatpreviously available only in client-side applications.

Note that the use of a tooltip is provided merely as an example and doesnot constitute a limitation of the present invention. Rather, theadditional summary information may be provided in other forms, such asin a static object (e.g., a text box) on the web page 300. Furthermore,the user 142 may cause the additional summary information to bedisplayed using actions other than hovering, such as clicking orpressing a hotkey.

The tooltip, or other graphical user interface element that is used todisplay additional summary information, may be variable in size. Forexample, the web page 300 may allow the user 142 to select from amongthree sizes: small, large, and very large. The very large size may beparticularly useful for users who are visually impaired. Such a featuremay make it possible for visually impaired users to benefit from thefeatures of the web page 300, without requiring the design of the webpage (e.g., the font size of text in the table) to change.

Furthermore, the web page 300 may be implemented such that selecting(e.g., hovering or clicking) one of the message summaries in the table302 always causes the corresponding message to be displayed in the frame308, while the additional summary information (e.g., tooltip) isdisplayed. Although there may be some delay in loading and displayingthe full message in the frame 308, the user 142 may view the additionalsummary information essentially immediately, thereby enabling the user142 to decide quickly whether to wait for the remainder of the messageto load or to move on to the next message summary.

The web page 300 may allow the user 142 to post additional messages toany of the source message boards. For example, in the embodimentillustrated in FIG. 3, the web page 300 includes an “Add Message” button330 that the user 142 may click to add a new message. When the user 142clicks the button 330, a web page may be displayed which allows the user142 to type a new message and submit it either to the internal messageboard 114 or to one of the external message boards 102 a-m. In eithercase, once the user 142 has posted a new message, the message may bedisplayed in the frame 308, and a summary of the message may bedisplayed in the table 302.

Similarly, the web page 300 may include a “Reply Message” button (notshown in FIG. 3) that the user 142 may click to reply to the messagecurrently being shown in the frame 308. When the user 142 submits areply, the reply may be posted to the same message board as the messageto which the user 142 has replied, whether that message board isexternal or internal to the aggregation server 112. Alternatively, theuser 142 may be allowed to choose whether to reply from the internalmessage board 114 maintained by the aggregation server 112 or from theexternal message board currently displayed in the frame 308.

Message summaries in the message table 302 may be sorted in any manner.For example, the summaries may be sorted by time of posting by default.The user 142 may, however, sort these messages in other ways (e.g., bymessage title, message author, message ID, message sentiment, messageweb page source, person being replied to). If the message table 302includes message summaries derived from multiple source message boards,the message table 302 may nonetheless display the summaries in anaggregated sorted list. For example, the summaries may be sorted by timeof posting, in which case message summaries corresponding to messagesfrom different source message boards may be interwoven with each otheraccording to the times at which they were posted. This feature providesthe user 142 with a unified view of messages across multiple messageboards.

Among the advantages of the invention are one or more of the following.The features of the web page 300 illustrated in FIG. 3 provide animprovement in speed and ease of use when accessing message tablecontent and corresponding message content, in comparison to conventionalsystems for performing such functions. In particular, the web page 300both allows the user 142 to view a message summary and correspondingmessage content contemporaneously, and to quickly scan additionalmessage summary information not contained in the table 302.

Furthermore, the techniques disclosed herein make it possible to readand write messages from and to multiple message board sources. Writingmessages can be performed either from the web page 300, or at theoriginal message board source in the frame 308. This saves the user 142time in comparison to reading and writing multiple message boards usingdistinct web browser windows for each message board.

By providing features that are attractive and useful to frequent usersof financial message boards, the techniques disclosed herein provide anopportunity to generate significant revenue from advertising. An exampleof a banner advertisement 332 for a financial services firm is shown onthe web page 300 in FIG. 3. Note, however, that the web page 300 (andthe web site of which it is a part) may generate revenue using anymechanism, not merely banner advertisements.

Furthermore, note that content other than an advertisement may occupythe space occupied by the advertisement 332 in FIG. 3. For example, theaggregation server 112 may display an advertisement for basic (i.e.,non-paid) users, but display additional summary information (such as theinformation displayed by the tooltip 328 in FIG. 3) in a static object(such as a text box) in the same location as but instead of theadvertisement 332 for premium (i.e., paid) users. The web page 300, inother words, may be designed to make efficient use of available screen“real estate” to tailor the content that is displayed in an attempt tomaximize revenue.

It is to be understood that although the invention has been describedabove in terms of particular embodiments, the foregoing embodiments areprovided as illustrative only, and do not limit or define the scope ofthe invention. Various other embodiments, including but not limited tothe following, are also within the scope of the claims. For example,elements and components described herein may be further divided intoadditional components or joined together to form fewer components forperforming the same functions. In particular, the functions performed bythe aggregation server 112 shown in FIG. 1 may be further subdividedinto additional components for performing the same functions.

Although certain examples disclosed herein relate to financial messageboards, the present invention is not limited to such examples. Moregenerally, the techniques disclosed herein may be applied to any kind ofmessaging system, such as email and newsgroups, and to messaging systemscontaining messages whose content does not relate to finance.Furthermore, the techniques disclosed herein may be applied to aggregatecontent from web sites and other communications systems that are notdesigned as message boards. For example, the techniques disclosed hereinmay be used to aggregate news articles posted to news web sites, such asthe web site for the New York Times (www.nytimes.com) or the BusinessWeek (www.businessweek.com), even though such web sites are not designedas message boards to which members of the public may post messages. Theterm “message, as used herein, therefore, includes not only messagesposted to message boards, but more generally to any unit ofcommunication, such as an email message, a newsgroup posting, or a newsarticle posted by an administrator to a news web site.

As described above, the aggregation server 112 extracts certaininformation from source message boards to produce the message contentunits 132. Examples of categories from which information may be derivedinclude, but are not limited to: message title, message author, messageidentifier, message sentiment, message timestamp, message web address,message thread, message attribute (e.g., size), message link (linkscontained in the message), message keyword (keywords contained in themessage), message recipient, and message statistics (e.g., the number oftimes others have recommended the message, or a rating of the popularityof the message). The user 142 may be allowed to sort the aggregatedmessage summaries displayed in the message table 302 by, for example,any of the categories mentioned above.

Ease of visual cognition is key to a successful user interface. Varioustechniques may be combined with those described above to improve suchease of visual cognition. For example, message summaries in the table302 may be color-coded or otherwise coded (such as by the use ofdistinct icons or words) according to their source or to any otherattribute, such as according to any of the categories mentioned above.The table 302 may include any number of rows and columns. Columns may beassigned to message categories (attributes) in any way. For example, asingle column may correspond to a single attribute or to multipleattributes. For example, in one embodiment, there are two columns: (1)title and (2) time and author.

The web browser 140 is not limited to any particular web browserapplication. The web browser 140 may, for example, be of any kind andoperate on any kind of device (e.g., desktop computer, laptop computer,personal-digital assistant, or smart phone). Furthermore, although thenetwork 138 in FIG. 1 is labeled as the “Internet,” the web browser 140and aggregation server 112 may communicate over any kind of network,such as a private intranet.

The techniques described above may be implemented, for example, inhardware, software, firmware, or any combination thereof. The techniquesdescribed above may be implemented in one or more computer programsexecuting on a programmable computer including a processor, a storagemedium readable by the processor (including, for example, volatile andnon-volatile memory and/or storage elements), at least one input device,and at least one output device. Program code may be applied to inputentered using the input device to perform the functions described and togenerate output. The output may be provided to one or more outputdevices.

Each computer program within the scope of the claims below may beimplemented in any programming language, such as assembly language,machine language, a high-level procedural programming language, or anobject-oriented programming language. The programming language may, forexample, be a compiled or interpreted programming language.

Each such computer program may be implemented in a computer programproduct tangibly embodied in a machine-readable storage device forexecution by a computer processor. Method steps of the invention may beperformed by a computer processor executing a program tangibly embodiedon a computer-readable medium to perform functions of the invention byoperating on input and generating output. Suitable processors include,by way of example, both general and special purpose microprocessors.Generally, the processor receives instructions and data from a read-onlymemory and/or a random access memory. Storage devices suitable fortangibly embodying computer program instructions include, for example,all forms of non-volatile memory, such as semiconductor memory devices,including EPROM, EEPROM, and flash memory devices; magnetic disks suchas internal hard disks and removable disks; magneto-optical disks; andCD-ROMs. Any of the foregoing may be supplemented by, or incorporatedin, specially-designed ASICs (application-specific integrated circuits)or FPGAs (Field-Programmable Gate Arrays). A computer can generally alsoreceive programs and data from a storage medium such as an internal disk(not shown) or a removable disk. These elements will also be found in aconventional desktop or workstation computer as well as other computerssuitable for executing computer programs implementing the methodsdescribed herein, which may be used in conjunction with any digitalprint engine or marking engine, display monitor, or other raster outputdevice capable of producing color or gray scale pixels on paper, film,display screen, or other output medium.

Referring to FIG. 4A, an illustration is shown of a graphical userinterface text input control 400 for use in assisting in the completionof text input by a user according to one embodiment of the presentinvention. The control 400 includes a text input field 402 into whichthe user may type text.

In the particular embodiment illustrated in FIG. 4A, the text inputfield 402 is used for entering either the name of a company or the stockticker symbol of the company. The text input field 402 may, for example,be implemented in a financial message board aggregation web site of thekind described in the above-referenced patent application entitled“Message Aggregator”, now issued under U.S. Pat. No. 7,529,795. The textinput field 402, however, may be used for entering text of any kind, andis not limited to use in any particular kind of computer program (suchas a web browser).

For purposes of the following discussion, however, assume that the textinput field 402 is used to enter either the name of a company or thestock ticker symbol of the company. The program that provides the textinput field 402 may maintain a list of ticker-name tuples. For example,one tuple may include the stock ticker symbol “AAP” and the name of thecompany having that stock ticker symbol, namely “Advance Auto PartsInc.” Another tuple may, for example, include the stock ticker symbol“AAPH” and the name of the company having that stock ticker symbol,namely “American Petro-Hunter Inc.” Yet another tuple may, for example,include the stock ticker symbol “AAPL” and the name of the companyhaving that stock ticker symbol, namely “Apple Computer Inc.”

In the particular example illustrated in FIG. 4A, the user has begun totype the text “aap”. As the user types, the program that provides thetext input field 402 may attempt to match the text that the user hastyped so far against any of the text in the tuples maintained by theprogram. For example, the program may attempt to match the text typed bythe user so far against both the stored list of stock ticker symbols andthe list of corresponding company names.

If the program determines that the text typed by the user so far matchesany of the text in a particular tuple, the program may indicate such amatch to the user. For example, if the program determines that the texttyped by the user so far matches either the stock ticker symbol or thecompany name of a particular tuple, the program may indicate to the userthat a match has been found. If matches are found with text in multipletuples, the program may indicate to the user that multiple matches havebeen found.

In the particular embodiment illustrated in FIG. 4A, any matches areindicated to the user by displaying a list of matching tuples,consisting of the stock ticker name followed by the company name (inparenthesis) of each matching tuple. For example, in FIG. 4A, the texttyped so far by the user (“aap”) matches three stock ticker symbols(“AAP”, “AAPH”, and “AAPL”). The program therefore displays the text 408a-c of the three matching tuples in the list 406 a. It should beappreciated that the contents of the list may change as the usercontinues to type additional characters in the text input field 402 oras the user deletes previously-typed characters in the text input field402.

Furthermore, the subset of each text item in the list that matches theinput text may be visually emphasized. For example, in FIG. 4A, the text“AAP” may be highlighted (such as by color coding) in each of thematching text strings 408 a, 408 b, and 408 c. Highlighting the matchingtext in this way enables the user to quickly recognize the basis of eachmatch, thereby enabling the user to quickly determine whether any of thedisplayed text strings 408 a-c corresponds to the company for which theuser was searching.

In the particular example illustrated in FIG. 4A, the text 404 a typedby the user in the text input field 402 only matches stock tickersymbols in the set of stored tuples. Referring to FIG. 4B, an example isillustrated in which the text 404 b (“appl”) typed by the user matchescompany names (e.g., “Apple Computer Inc.”, “Applied Biosystems Group”,and “Applied Digital Solutions”) instead of stock ticker symbols. Thelist 406 b displayed in FIG. 4B, therefore, includes text 410 a-jcorresponding to tuples having company names that match the typed text404 b. Although the list 406 b is sorted by stock ticker symbol, thelist 406 b may be organized in any manner. For example, the list 406 bmay be sorted by company name. Note that the list 406 b displayed inFIG. 4B may be generated dynamically while the user types the text 404 bin the same manner as described above with respect to the list 406 a ofFIG. 4A, namely by attempting to match the text 404 b against both stockticker symbols and company names.

Referring to FIG. 4C, an example is illustrated in which the text 404 c(“del”) typed by the user matches both ticker symbols (i.e., “DEL”,“DELL”, and “DELT”) and company names (i.e., “Delcath Systems Inc.”,“Delta Capital Technologies Inc.”, “deltathree Inc.”, “Delhaize Group(ADR)”, “Delta Financial Corp.”, and “Delphi Financial Group Inc.”). Thelist 406 c displayed in FIG. 4C, therefore, includes both text 412 a-ccorresponding to tuples having ticker symbols that match the typed text404 c and text 412 d-j having company names that match the typed text404 c. Although the list 406 c includes two sections—one for matchingticker symbols and one for matching company names—the list may beorganized in any manner. For example, the list 406 c may be a singlelist sorted by company name or ticker symbol.

Once a list of matching tuples has been displayed (such as any of thelists 406 a-c illustrated in FIGS. 4A-4C), the program may allow theuser to select a tuple from the list to complete the text being typed inthe text input field 402. For example, if the user clicks on an item inthe list, the program may fill in the text field 402 with the stockticker symbol of the tuple selected by the user. Note, however, thatwhen the user selects a tuple from the list, the program may fill in thetext field 402 with a stock ticker symbol even though the user had begunto type a company name, or vice versa. The user may also select morethan one of the output strings by using the shift or control key whileselecting a subset of the desired output strings.

The techniques disclosed herein may be used to reduce the number ofkeystrokes required to be input by the user. This may save the usereffort and enable the user to use the corresponding computer programmore quickly. For example, in comparison, conventional financial portalweb sites typically provide a “symbol lookup” feature that allows a userto find the stock ticker symbol for a company by typing the company'sname, and then clicking on a “find” button. Examples of existingfinancial portal web sites, some of which provide some form of “symbollookup” feature, but which do not include the kind of lookup featuresdisclosed herein, include:http://moneycentral.msn.com/investor/common/find.asp?NextPage=/detail/stockquote, http://finance.yahoo.com/lookup,http://money.cnn.com/quote/lookup/index.html,http://www.marketwatch.com/tools/quotes/lookup.asp,http://clearstation.etrade.com/cgi-bin/symbol search,http://www.marketcenter.com/std/search.action,http://www.marketcenter.com/std/toolbox.jsp,http://www.quote.com/qc/lookup/symbol search.aspx,http://www.wallstreettape.com/charts/custom/symbol-lookup.asp,http://online.wsj.com/public/us, http://online.barrons.com/public/main,http://bigcharts.marketwatch.com/symbollookup/symbollookup.asp,http://www.esignalcentral.com/support/symbol/default.asp,http://www.hoovers.com/free/, http://www.bloomberg.com/apps/tkrlookup,http://www2.barchart.com/lookup.asp, http://stockcharts.com/index.html,http://tools.thestreet.com/tsc/quotes.html?pg=qcn&,http://www.earningswhispers.com/tickerlookup.asp,http://www.whispernumber.com/index.jsp, http://www.google.com,http://quote.morningstar.com/TickerLookup.html, http://www.fool.com,http://www.siliconinvestor.com, http://www.investorshub.com,http://www.ragingbull.com, http://www.boardcentral.com,http://www.briefing.com/, http://www.newyorktimes.com,http://www.washingtonpost.com, http://www.boston.com, http://www.ft.com,http://news.bbc.co.uk/, http://www.inc.com, http://www.forbes.com,http://www.fortune.com,http://research.businessweek.com/ticker/create_ticker.asp,http://www.etrade.com, http://www.ameritrade.com, http://www.schwab.com,http://www.scottrade.com, http://www.sharebuilder.com, andhttp://www.vanguard.com, http://seekingalpha.com/,http://portfolios.abcnews.go.com/guotes/getQuote,http://www.investorvillage.com/home.asp,http://www.tickertech.com/cgi/?a=lookup,http://www.investors.com/symbol.asp,http://www.cboe.com/DelayedQuote/Symbol.aspx,http://personal.fidelity.com/research/stocks/content/stocksindex.shtml?bar=c, http://www.quicken.com/investments/tsl/,http://www.globeinvestor.com/static/hubs/lookup.html,http://www.usatoday.com/money/search-tips.htm, http://stockhouse.com/,http://www.thelion.com/, http://www.island.com/, http://www.zacks.com/,http://www.troweprice.com/common/indexHtml3/0,0,htmlid=38,00.html,http://www.amex.com/?href=/quickquote/SymbolLookup.jsp,http://www.nasdaq.com, http://www.nyse.com/,http://www.londonstockexchange.com/en-gb/, http://www.euronext.com,http://www.tsx.com/, http://www.asx.com.au/, http://www.advfn.com,http://www.mldirect.ml.com, http://www.foxnews.com/business/index.html,http://www.quickandreilly.com/, http://www.economist.com/index.html,http://www.kiplinger.com/, http://www.pennystock.com/,http://www.wallstreetselect.com/, http://www.sec.gov/edgar.shtml,http://www.edgar-online.com/, http://freeedgar.com/,http://www.thedeal.com, http://www.investools.com,http://www.activetradermag.com/, http://www.traders.com/, andhttp://www.ipohome.com.

The techniques disclosed herein may also provide the user with abeneficial degree of flexibility. For example, the techniques disclosedherein provide the user with the flexibility to type either a stockticker symbol or a company name, depending on the user's preference, ordepending on which of the two the user remembers most easily. The user,therefore, is not limited to a particular mode of input dictated by theprogram. This may make the program easily usable by different classes ofusers, such as both those users who are sophisticated stock traders (andtherefore likely to remember stock ticker symbols) and lesssophisticated users (who are likely to remember company names ratherthan symbols). More generally, the techniques disclosed herein reducethe need for the user to rely on his memory to provide necessary textualinput.

It is to be understood that although the invention has been describedabove in terms of particular embodiments, the foregoing embodiments areprovided as illustrative only, and do not limit or define the scope ofthe invention. Various other embodiments, including but not limited tothe following, are also within the scope of the claims. For example,elements and components described herein may be further divided intoadditional components or joined together to form fewer components forperforming the same functions.

Although certain examples described herein use stock ticker symbol andcompany name as the categories of text strings stored in n-tuples, thetechniques disclosed herein may be applied to text strings representingany categories of content. For example, company sector (or other meansof categorizing a company) is another example of a category of contentto which the techniques disclosed herein may be applied.

Although particular examples disclosed herein involve the use of pairsof text strings, such pairs are merely special cases of n-tuples, inwhich n=2. The techniques disclosed herein may be applied moregenerally, to n-tuples where n>1. Furthermore, the text in the tuplesmay be of any kind and have any relationship to each other. For example,although stock ticker symbols typically have some textual similarity tothe corresponding company names, this is not required. For example, ann-tuple may include a person's name and the person's street address, inwhich case there may be no textual similarity between the various textstrings in the n-tuple.

In certain examples disclosed herein, the text typed by the user ismatched against the beginning (leading characters) of text in then-tuples. This is not, however, a requirement of the present invention.Rather, matching may be performed by comparing any subset of the texttyped by the user against any subset of the n-tuple text. Furthermore,matching need not be performed against all elements in an n-tuple, or inthe same manner against all elements in an n-tuple. For example, if n=3,matching may be performed against two rather than three of the textstrings in the n-tuple.

Although certain examples disclosed herein provide the user with anindication of matches by displaying a list of all text in matchingn-tuples, this is not a requirement of the present invention. Rather,matches may be displayed in a form other than a list. Furthermore,displayed matches need not display all of the text in matching tuples.The user may be allowed to select a matching tuple using any kind ofinput mechanism.

Any kind of computer program may implement the techniques disclosedherein. For example, the techniques disclosed herein may be implementedin a web site displayed by a web browser.

Although the concept of an n-tuple is used herein, the techniquesdisclosed herein may be implemented without storing data in structuresorganized as n-tuples. Rather, the techniques disclosed herein may beimplemented using any kind of data structure, such as linked lists. Thedata against which the user input is matched may be pre-stored,downloaded over a network connection, generated on-the-fly, or produced,stored, and processed in any suitable manner.

The techniques described above may be implemented, for example, inhardware, software, firmware, or any combination thereof. The techniquesdescribed above may be implemented in one or more computer programsexecuting on a programmable computer including a processor, a storagemedium readable by the processor (including, for example, volatile andnon-volatile memory and/or storage elements), at least one input device,and at least one output device. Program code may be applied to inputentered using the input device to perform the functions described and togenerate output. The output may be provided to one or more outputdevices.

Each computer program within the scope of the claims below may beimplemented in any programming language, such as assembly language,machine language, a high-level procedural programming language, or anobject-oriented programming language. The programming language may, forexample, be a compiled or interpreted programming language.

Each such computer program may be implemented in a computer programproduct tangibly embodied in a machine-readable storage device forexecution by a computer processor. Method steps of the invention may beperformed by a computer processor executing a program tangibly embodiedon a computer-readable medium to perform functions of the invention byoperating on input and generating output. Suitable processors include,by way of example, both general and special purpose microprocessors.Generally, the processor receives instructions and data from a read-onlymemory and/or a random access memory. Storage devices suitable fortangibly embodying computer program instructions include, for example,all forms of non-volatile memory, such as semiconductor memory devices,including EPROM, EEPROM, and flash memory devices; magnetic disks suchas internal hard disks and removable disks; magneto-optical disks; andCD-ROMs. Any of the foregoing may be supplemented by, or incorporatedin, specially-designed ASICs (application-specific integrated circuits)or FPGAs (Field-Programmable Gate Arrays). A computer can generally alsoreceive programs and data from a storage medium such as an internal disk(not shown) or a removable disk. These elements will also be found in aconventional desktop or workstation computer as well as other computerssuitable for executing computer programs implementing the methodsdescribed herein, which may be used in conjunction with any digitalprint engine or marking engine, display monitor, or other raster outputdevice capable of producing color or gray scale pixels on paper, film,display screen, or other output medium.

A computer program provides a first set of representations (e.g.,textual representations) of a first set of hyperlinks. In response toselection by a user of one of the first set of hyperlink representations(such as by clicking on or hovering a cursor over the representation),the program displays a second set of representations (e.g., graphicalrepresentations) of a second set of hyperlinks. The user may select oneof the second set of representations, in response to which the programnavigates to the destination of the hyperlink. The second set ofrepresentations may, for example, be logos of companies, and the secondset of hyperlinks may be hyperlinks to the companies' web sites.

For example, referring to FIG. 5A, a web page 500 is shown according toone embodiment of the present invention. The web page 500 includes afirst frame 502 a displaying a first set of textual hyperlinkrepresentations 504 a, and a second frame 502 b displaying the contentsof another web page.

In the embodiment illustrated in FIG. 5A, the first set of hyperlinkrepresentations 504 a includes hypertext 506 a-h. In this example, thehypertext 506 a-h includes text representing categories of news websites. For example, hypertext 506 a (“World News”) represents thecategory of world news web sites, hypertext 506 b (“Business News”)represents the category of business news web sites, and so on. Theparticular number, selection, and categorization of hypertext 506 a-hshown in FIG. 5A is provided merely as an example and does notconstitute a limitation of the present invention.

The hyperlink representations 504 a enable the user to access theunderlying hyperlinks to external websites by hovering over selectingany of the hypertext 506 a-h. The user may, for example, select aparticular link either by clicking on one of the hypertext links 506 a-hor by hovering a mouse cursor over one of the hypertext links 506 a-h.

In response to receiving a selection of one of the hypertext links 5060a-h from the user, the web page 500 displays a second set of hyperlinkrepresentations 504 b. In the particular example illustrated in FIG. 5A,the user has clicked on or hovered the mouse cursor over hypertext 506 h(“Stock Research”). In response, the web page 500 has displayed thesecond set of hyperlink representations 504 b, which representhyperlinks within the selected category. In other words, each of thehyperlink representations 508 a-l represents a hyperlink to a stockresearch web site.

More specifically, in the embodiment illustrated in FIG. 5A, each of thehyperlink representations 508 a-l is a graphic image of the logo of theweb site that is the destination of the hyperlink. For example,hyperlink representation 508 a is the logo of www.bigcharts.com, and thehyperlink representation 508 a acts as a link to www.bigcharts.com.

Therefore, when the user selects (e.g., clicks on or hovers over) one ofthe second set of hyperlink representations 508 a-1, the web browserdisplays the destination of the selected hyperlink in the frame 502 b.For example, if the user selects hyperlink representation 508 a (i.e.,the logo of www.bigcharts.com), the web browser will navigate to anddisplay the home page of www.bigcharts.com in frame 502 b.

Different sets of hyperlinks are displayed as the user selects (e.g.,clicks on or hovers over) different ones of the first set of hyperlinks506 a-h. For example, as shown in FIG. 5B, when the user selectshyperlink 506 d (“UK News”), the web page 500 displays a set 504 c ofhyperlink representations 510 a-j depicting logos of UK news web sites.If hovering is enabled to activate the first set 504 a of links 506 a-j,the user may quickly view the links in different categories by movingthe mouse cursor over different ones of the first set 504 a of links 506a-h. In a web browser, such a feature may be enabled using AJAXtechnology, through which all of the logos may be pre-downloaded withthe web page 500, and then quickly displayed to the user withoutrequiring additional accesses to the server.

The techniques just described may, for example, be implemented inconjunction with a message board aggregation web site of the kinddisclosed in the patent application entitled, “Message BoardAggregator”, now issued under U.S. Pat. No. 7,529,795.

One advantage of the techniques disclosed herein is that hyperlinkrepresentations (e.g., the hyperlinks 504 b and 504 c) may be displayedto the user essentially instantaneously. Such techniques, therefore,provide the user with a method of scanning through links that is moreintuitive and thus quicker for users than traditional techniques.Furthermore, the use of company logos or other graphical representationsof hyperlinks facilitates the users experience, because it is likelythat the user will already associate the company logo with thecorresponding company name (attached to the hyperlink). The method isalso visually more appealing than commonly used plain text methods.

It is to be understood that although the invention has been describedabove in terms of particular embodiments, the foregoing embodiments areprovided as illustrative only, and do not limit or define the scope ofthe invention. Various other embodiments, including but not limited tothe following, are also within the scope of the claims. For example,elements and components described herein may be further divided intoadditional components or joined together to form fewer components forperforming the same functions. In particular, the functions performed bythe aggregation server 112 shown in FIG. 1 may be further subdividedinto additional components for performing the same functions.

The first set of hyperlinks 504 a may be sorted into categories,sub-categories, and so on, in any manner. Alternatively, they may beunsorted. The hyperlinks that are displayed may be predetermined by theweb page designer, determined by the user, or any combination thereof.The user may, for example, be provided with the ability to set upcategories (and subcategories) comprising favorite website hyperlinks.

Any kind of computer program may implement the techniques disclosedherein. For example, the techniques disclosed herein may be implementedin a web site displayed by a web browser.

The techniques described above may be implemented, for example, inhardware, software, firmware, or any combination thereof. The techniquesdescribed above may be implemented in one or more computer programsexecuting on a programmable computer including a processor, a storagemedium readable by the processor (including, for example, volatile andnon-volatile memory and/or storage elements), at least one input device,and at least one output device. Program code may be applied to inputentered using the input device to perform the functions described and togenerate output. The output may be provided to one or more outputdevices.

Each computer program within the scope of the claims below may beimplemented in any programming language, such as assembly language,machine language, a high-level procedural programming language, or anobject-oriented programming language. The programming language may, forexample, be a compiled or interpreted programming language.

Each such computer program may be implemented in a computer programproduct tangibly embodied in a machine-readable storage device forexecution by a computer processor. Method steps of the invention may beperformed by a computer processor executing a program tangibly embodiedon a computer-readable medium to perform functions of the invention byoperating on input and generating output. Suitable processors include,by way of example, both general and special purpose microprocessors.Generally, the processor receives instructions and data from a read-onlymemory and/or a random access memory. Storage devices suitable fortangibly embodying computer program instructions include, for example,all forms of non-volatile memory, such as semiconductor memory devices,including EPROM, EEPROM, and flash memory devices; magnetic disks suchas internal hard disks and removable disks; magneto-optical disks; andCD-ROMs. Any of the foregoing may be supplemented by, or incorporatedin, specially-designed ASICs (application-specific integrated circuits)or FPGAs (Field-Programmable Gate Arrays). A computer can generally alsoreceive programs and data from a storage medium such as an internal disk(not shown) or a removable disk. These elements will also be found in aconventional desktop or workstation computer as well as other computerssuitable for executing computer programs implementing the methodsdescribed herein, which may be used in conjunction with any digitalprint engine or marking engine, display monitor, or other raster outputdevice capable of producing color or gray scale pixels on paper, film,display screen, or other output medium.

1. In a computer system including a plurality of n-tuples, each of theplurality of n-tuples including n>1 text strings, a computer-implementedmethod comprising: displaying at least one window in connection with awebsite; displaying, utilizing the at least one window, a stock-relatedfield; receiving a plurality of characters of text from a user as theuser is typing the text utilizing the stock-related field; after theuser types each character in the received text, dynamically determiningwhether the characters typed so far match one or more text strings in afirst one of a plurality of n-tuples including n>1 text strings, each ofthe plurality of n-tuples including first text representing a stockticker symbol and second text representing a company name correspondingto the stock ticker symbol; if it is determined that the characterstyped so far match the one or more text strings in the one of theplurality of n-tuples, indicating to the user that a match has beenfound, utilizing the at least one window; displaying, utilizing the atleast one window, a plurality of message summaries; wherein theplurality of message summaries comprise first information derived from afirst message of a plurality of first messages and second informationderived from a second message of a plurality of second messagesassociated with at least one online forum; displaying, utilizing the atleast one window, a first set of representations; receiving first inputfrom the user indicating a selection of one of the first set ofrepresentations; displaying a second set of representations representinga set of hyperlinks, utilizing the at least one window, in response toreceiving the first input; receiving second input from the userindicating a selection of one of the second set of representations; andnavigating to a destination specified by the selected one of the secondset of representations, in response to receiving the second input. 2.The method of claim 1, wherein the first messages are associated with afirst online forum.
 3. The method of claim 2, and further comprisingpreloading and initially hiding first additional information associatedwith the first message.
 4. The method of claim 3, and furthercomprising, utilizing the at least one window, displaying, in responseto a first user interaction, the first additional information associatedwith the first message.
 5. The method of claim 4, and further comprisingpreloading and initially hiding second additional information associatedwith the second message.
 6. The method of claim 5, and furthercomprising, utilizing the at least one window, displaying, in responseto a second user interaction, the second additional informationassociated with the second message.
 7. The method of claim 6, whereinthe first additional information and the second additional informationeach includes additional summary information.
 8. The method of claim 6,wherein the first additional information and the second additionalinformation each includes a date and time.
 9. The method of claim 6,wherein the first additional information and the second additionalinformation each includes a beginning of message text.
 10. The method ofclaim 6, wherein the first additional information and the secondadditional information are displayed utilizing a tooltip.
 11. The methodof claim 6, wherein the first additional information and the secondadditional information are displayed utilizing a static object.
 12. Themethod of claim 6, wherein the first additional information and thesecond additional information are displayed without accessing a server.13. The method of claim 6, wherein the first additional information andthe second additional information are displayed utilizing a graphicaluser interface element of variable size that is determined by the user.14. The method of claim 6, wherein the first user interaction and thesecond user interaction each includes hovering a cursor.
 15. The methodof claim 6, wherein the first user interaction and the second userinteraction each includes clicking.
 16. The method of claim 6, whereinthe first user interaction and the second user interaction each includesinteractions with one of the message summaries.
 17. The method of claim4, wherein the first message includes the first additional information.18. The method of claim 4, wherein the first additional informationincludes more information with respect to the first information.
 19. Themethod of claim 4, wherein the first additional information includes adate and time.
 20. The method of claim 4, wherein the first additionalinformation includes a beginning of message text.
 21. The method ofclaim 4, wherein the first additional information is displayed utilizinga tooltip.
 22. The method of claim 4, wherein the first additionalinformation is displayed utilizing a static object.
 23. The method ofclaim 4, wherein the first additional is displayed without accessing aserver.
 24. The method of claim 4, wherein the first additionalinformation is displayed utilizing a graphical user interface element ofvariable size that is determined by the user.
 25. The method of claim 4,wherein the first user interaction includes hovering a cursor.
 26. Themethod of claim 4, wherein the first user interaction includes clicking.27. The method of claim 4, wherein the first user interaction includesinteractions with one of the message summaries.
 28. The method of claim2, wherein the second messages are associated with a second online forumthat is different from the first online forum online forum relates to afirst subject matter, and the second online forum relates to a secondsubject matter.
 29. The method of claim 28, wherein the displaying theplurality of message summaries is carried out utilizing the website, andthe first message and the second message are capable of being accessedutilizing the website.
 30. The method of claim 2, wherein the firstonline forum includes at least one of a message board and a newsgroup.31. The method of claim 28, wherein the first online forum is associatedwith an internal message board, and the second online forum isassociated with an external message board.
 32. The method of claim 28,wherein the first online forum and the second online forum are chosen bythe user.
 33. The method of claim 28, wherein the first online forum andthe second online forum are chosen by the user, by visiting a web siteserved by an aggregation server that executes the computer code.
 34. Themethod of claim 28, wherein the first message and the second message arecapable of being accessed via a single browser window.
 35. The method ofclaim 28, wherein the first on-line forum is associated with a firstwebsite, and the second on-line forum is associated with a secondwebsite.
 36. The method of claim 1, wherein the indicating comprisesdisplaying to the user the text strings in the one of the plurality ofn-tuples.
 37. The method of claim 36, wherein the indicating furthercomprises visually emphasizing a subset of text in at least one of thetext strings, wherein the subset of text match the characters typed sofar by the user.
 38. The method of claim 1, wherein the dynamicallydetermining comprises determining whether the characters typed so farmatch any of the text strings in any of the plurality of n-tuples, andwherein the indicating comprises indicating to the user that at leastone match has been found if it is determined that the characters typedso far match any of the text strings in any of the plurality ofn-tuples.
 39. The method of claim 38, wherein the indicating comprises,displaying to the user the text strings of the matching ones of theplurality of n-tuples.
 40. The method of claim 1, further comprising:receiving input from the user selecting one of the n-tuples; and usingtext from the selected one of the n-tuples to complete input of the textto the system.
 41. The method of claim 40, wherein the using comprisesreplacing the characters typed so far by the user with text from theselected one of the n-tuples.
 42. The method of claim 40, wherein theusing comprises appending text from the selected one of the n-tuples tothe characters typed so far by the user.
 43. The method of claim 1,wherein at least one field that is displayed with the message summariesis determined by a user selection.
 44. The method of claim 43, whereinthe at least one field includes at least one of a message title field, amessage author field, and a message time submitted field.
 45. The methodof claim 1, wherein the dynamically determining comprises determiningwhether the characters typed so far match leading text in one or moretext strings in the one of the plurality of n-tuples.
 46. The method ofclaim 1, wherein the dynamically determining comprises determining thatthe characters typed so far match a first one of the text strings in theone of the plurality of n-tuples, and that the characters typed so fardo not match a second one of the text strings in the one of theplurality of n-tuples.
 47. The method of claim 1, wherein the first setof representations is a set of textual representations.
 48. The methodof claim 1, wherein the receiving the first input from the usercomprises receiving input from the user indicating a mouse click on theselected one of the first set of representations.
 49. The method ofclaim 1, wherein the receiving the first input from the user comprisesreceiving first input from the user indicating a mouse cursor hoveringover the selected one of the first set of representations.
 50. Themethod of claim 1, wherein the second set of representations is a set ofgraphical representations.
 51. The method of claim 1, wherein thereceiving the second input from the user comprises receiving input fromthe user indicating a mouse click on the selected one of the second setof hyperlink representations.
 52. The method of claim 1, wherein thereceiving the second input from the user comprises receiving first inputfrom the user indicating a mouse cursor hovering over the selected oneof the second set of representations.
 53. The method of claim 1, whereinthe displaying the second set of representations comprises displayingthe second set of representations of the hyperlinks substantiallyimmediately after receiving the first input.
 54. The method of claim 1,wherein the first set of representations is specified by the user beforedisplaying the first set of representations.
 55. The method of claim 1,wherein the second set of representations is specified by the userbefore displaying the second set of representations.
 56. The method ofclaim 1, wherein the displaying the plurality of message summaries iscarried out utilizing the website, and a new message is capable of beinggenerated by the user utilizing the website.
 57. The method of claim 1,wherein displaying the plurality of message summaries is carried oututilizing the website, and a new posting is capable of being generatedby the user utilizing the website.
 58. The method of claim 1, whereinthe displaying the plurality of message summaries is carried oututilizing the website, and a reply message is capable of being generatedby the user utilizing the website.
 59. The method of claim 1, whereinthe first message and the second message are interwoven.
 60. The methodof claim 1, wherein the user is allowed to control a number of themessage summaries that are displayed.
 61. The method of claim 1, whereinthe user is allowed to control a number of the message summaries thatare displayed via a drop-down list.
 62. The method of claim 1, whereinthe user is allowed to control a number of the message summaries thatare displayed by selecting the number.
 63. The method of claim 1,wherein the user is allowed to control the manner in which the messagesummaries are displayed utilizing a message time submitted field. 64.The method of claim 1, wherein the user is allowed to enter a key termfor controlling content of at least one of the first message and thesecond message.
 65. The method of claim 1, wherein the user is allowedto select any of the message summaries, such that selecting one of themessage summaries causes message content for a different message to bedisplayed.
 66. The method of claim 1, wherein revenue is generatedutilizing advertisements.
 67. The method of claim 1, wherein theplurality of n-tuples are sorted according to the stock ticker symbolthereof independent of whether the received text matches the second textand not the first text.
 68. The method of claim 1, wherein a subset oftext in at least one of the text strings that matches characters typedso far by the user is visually emphasized.
 69. The method of claim 1,wherein the first text precedes the second text.
 70. A computer programproduct embodied on a non-transitory computer readable medium,comprising: computer code for displaying at least one window inconnection with a website; computer code for displaying, utilizing theat least one window, a stock-related field; computer code for receivinga plurality of characters of text from a user as the user is typing thetext utilizing the stock-related field; computer code for dynamicallydetermining, after the user types each character in the received text,whether the characters typed so far match one or more text strings inone of a plurality of n-tuples including at least two text strings, eachof the plurality of n-tuples including first text representing a stockticker symbol and second text representing a company name correspondingto the stock ticker symbol; computer code for indicating to the userthat a match has been found, utilizing the at least one window, if it isdetermined that the characters typed so far match the one or more textstrings in the one of the plurality of n-tuples; computer code fordisplaying, utilizing the at least one window, a plurality of messagesummaries; wherein the plurality of message summaries comprise firstinformation derived from a first message of a plurality of firstmessages and second information derived from a second message of aplurality of second messages associated with at least one online forum;computer code for displaying, utilizing the at least one window, a firstset of representations; computer code for receiving first input from theuser indicating a selection of one of the first set of representations;computer code for displaying a second set of representationsrepresenting a set of hyperlinks, utilizing the at least one window, inresponse to receiving the first input; computer code for receivingsecond input from the user indicating a selection of one of the secondset of representations; and computer code for navigating to adestination specified by the selected one of the second set ofrepresentations, in response to receiving the second input.
 71. Thecomputer program product of claim 70, wherein the first wherein thefirst messages are associated with a first online forum.
 72. Thecomputer program product of claim 71, and further comprising computercode for preloading and initially hiding first additional informationassociated with the first message.
 73. The computer program product ofclaim 72, and further comprising computer code for displaying, inresponse to a first user interaction, the first additional informationassociated with the first message, utilizing the at least one window.74. The computer program product of claim 73, further comprisingcomputer code for preloading and initially hiding second additionalinformation associated with the second message.
 75. The computer programproduct of claim 74, further comprising computer code for displaying, inresponse to a second user interaction, the second additional informationassociated with the second message, utilizing the at least one window.76. The computer program product of claim 75, wherein the computerprogram product is configured such that the first additional informationand the second additional information each includes additional summaryinformation.
 77. The computer program product of claim 75, wherein thecomputer program product is configured such that the first additionalinformation and the second additional information each includes a dateand time.
 78. The computer program product of claim 75, wherein thecomputer program product is configured such that the first additionalinformation and the second additional information each includes abeginning of message text.
 79. The computer program product of claim 75,wherein the computer program product is configured such that the firstadditional information and the second additional information aredisplayed utilizing a tooltip.
 80. The computer program product of claim75, wherein the computer program product is configured such that thefirst additional information and the second additional information aredisplayed utilizing a static object.
 81. The computer program product ofclaim 75, wherein the computer program product is configured such thatthe first additional information and the second additional informationare displayed without accessing a server.
 82. The computer programproduct of claim 75, wherein the computer program product is configuredsuch that the first additional information and the second additionalinformation are displayed utilizing a graphical user interface elementof variable size that is determined by the user.
 83. The computerprogram product of claim 75, wherein the computer program product isconfigured such that the first user interaction and the second userinteraction each includes hovering a cursor.
 84. The computer programproduct of claim 75, wherein the computer program product is configuredsuch that the first user interaction and the second user interactioneach includes clicking.
 85. The computer program product of claim 75,wherein the computer program product is configured such that the firstuser interaction and the second user interaction each includesinteractions with one of the message summaries.
 86. The computer programproduct of claim 73, wherein the computer program product is configuredsuch that the first message includes the first additional information.87. The computer program product of claim 73, wherein the computerprogram product is configured such that the first additional informationincludes more information with respect to the first information.
 88. Thecomputer program product of claim 73, wherein the computer programproduct is configured such that the first additional informationincludes a date and time.
 89. The computer program product of claim 73,wherein the computer program product is configured such that the firstadditional information includes a beginning of message text.
 90. Thecomputer program product of claim 73, wherein the computer programproduct is configured such that the first additional information isdisplayed utilizing a tooltip.
 91. The computer program product of claim73, wherein the computer program product is configured such that thefirst additional information is displayed utilizing a static object. 92.The computer program product of claim 73, wherein the computer programproduct is configured such that the first additional is displayedwithout accessing a server.
 93. The computer program product of claim73, wherein the computer program product is configured such that thefirst additional information is displayed utilizing a graphical userinterface element of variable size that is determined by the user. 94.The computer program product of claim 73, wherein the computer programproduct is configured such that the first user interaction includeshovering a cursor.
 95. The computer program product of claim 73, whereinthe computer program product is configured such that the first userinteraction includes clicking.
 96. The computer program product of claim73, wherein the computer program product is configured such that thefirst user interaction includes interactions with one of the messagesummaries.
 97. The computer program product of claim 71, wherein thesecond messages are associated with a second online forum that isdifferent from the first online forum.
 98. The computer program productof claim 97, wherein the first online forum relates to a first subjectmatter, and the second online forum relates to a second subject matter.99. The computer program product of claim 98, wherein the first subjectmatter includes sports and the second subject matter includesfinancials.
 100. The computer program product of claim 97, wherein thecomputer program product is operable to display at least a portion of athird message associated with a third online forum.
 101. The computerprogram product of claim 100, wherein the third online forum isdifferent from the first online forum and the second online forum. 102.The computer program product of claim 100, wherein the third message isan e-mail.
 103. The computer program product of claim 97, wherein thesecond forum includes a messaging forum.
 104. The computer programproduct of claim 103, wherein the messaging forum includes an e-mailforum.
 105. The computer program product of claim 97, wherein thecomputer program product is configured such that the first online forumis associated with an internal message board, and the second onlineforum is associated with an external message board.
 106. The computerprogram product of claim 97, wherein the computer program product isconfigured such that the first online forum and the second online forumare chosen by the user.
 107. The computer program product of claim 97,wherein the computer program product is configured such that the firstonline forum and the second online forum are chosen by the user, byvisiting a web site served by an aggregation server that executes thecomputer code.
 108. The computer program product of claim 97, whereinthe first online forum and the second online forum are associated with asingle domain.
 109. The computer program product of claim 97, whereinthe first online forum and the second online forum are associated withdifferent domains.
 110. The computer program product of claim 97,wherein the computer program product is configured such that the firston-line forum is associated with a first website, and the second on-lineforum is associated with a second website.
 111. The computer programproduct of claim 97, wherein the computer program product is operablesuch that the user is allowed to select the first online forum and thesecond online forum.
 112. The computer program product of claim 97,wherein the first online forum and the second online forum are differentsubsets of a single source.
 113. The computer program product of claim97, wherein the first online forum relates to a first topic, and thesecond online forum relates to a second topic.
 114. The computer programproduct of claim 97, wherein the first online forum relates to a firstsub-topic, and the second online forum relates to a second sub-topic.115. The computer program product of claim 97, wherein the first onlineforum and the second online forum have different uniform resourcelocators.
 116. The computer program product of claim 97, wherein thefirst online forum and the second online forum are associated with asingle source.
 117. The computer program product of claim 97, whereinthe first online forum and the second online forum are associated with asingle uniform resource locator.
 118. The computer program product ofclaim 97, wherein the first online forum and the second online forum areassociated with different uniform resource locators.
 119. The computerprogram product of claim 97, wherein the first online forum and thesecond online forum are associated with a single domain.
 120. Thecomputer program product of claim 97, wherein the first online forum andthe second online forum are associated with different domains.
 121. Thecomputer program product of claim 97, wherein the first online forum andthe second online forum are associated with a single web page.
 122. Thecomputer program product of claim 97, wherein the first online forum andthe second online forum are associated with different web pages. 123.The computer program product of claim 97, wherein the computer programproduct is operable such that an entity that manages the first onlineforum also manages the second online forum and the display of theplurality of message summaries.
 124. The computer program product ofclaim 71, wherein the computer program product is configured such thatthe first online forum includes at least one of a message board and anewsgroup.
 125. The computer program product of claim 71, wherein thecomputer program product is operable such that an entity that managesthe first online forum also manages the display of the plurality ofmessage summaries.
 126. The computer program product of claim 71,wherein the computer program product is operable such that the firstinformation derived from the first message associated with the firstonline forum is extracted from the first message.
 127. The computerprogram product of claim 70, and further comprising a web page generatorthat is adapted for generating the at least one window.
 128. Thecomputer program product of claim 127, and further comprising anaggregation engine that is in communication with the web page generator,for aggregating content to be included in the at least one windowgenerated by the web page generator.
 129. The computer program productof claim 128, wherein the aggregation engine and the web page generatorare resident on the same at least one server.
 130. The computer programproduct of claim 70, wherein the computer program product is configuredsuch that the indicating comprises displaying to the user the textstrings in the one of the plurality of n-tuples.
 131. The computerprogram product of claim 130, wherein the computer program product isconfigured such that the indicating further comprises visuallyemphasizing a subset of text in at least one of the text strings,wherein the subset of text match the characters typed so far by theuser.
 132. The computer program product of claim 130, wherein thecomputer program product is configured such that the dynamicallydetermining comprises determining whether the characters typed so farmatch any of the text strings in any of the plurality of n-tuples, andwherein the computer program product is configured such that theindicating comprises indicating to the user that at least one match hasbeen found if it is determined that the characters typed so far matchany of the text strings in any of the plurality of n-tuples.
 133. Thecomputer program product of claim 132, wherein the computer programproduct is configured such that the indicating comprises, displaying tothe user the text strings of the matching ones of the plurality ofn-tuples.
 134. The computer program product of claim 70, furthercomprising: computer code for receiving input from the user selectingone of the n-tuples; and computer code for using text from the selectedone of the n-tuples to complete input of the text.
 135. The computerprogram product of claim 134, wherein the computer program product isconfigured such that the using comprises replacing the characters typedso far by the user with text from the selected one of the n-tuples. 136.The computer program product of claim 134, wherein the computer programproduct is configured such that the using comprises appending text fromthe selected one of the n-tuples to the characters typed so far by theuser.
 137. The computer program product of claim 70, wherein thecomputer program product is configured such that at least one field thatis displayed with the message summaries is determined by a userselection.
 138. The computer program product of claim 137, wherein thecomputer program product is configured such that the at least one fieldincludes at least one of a message title field, a message author field,and a message time submitted field.
 139. The computer program product ofclaim 70, wherein the computer program product is operable such that thefirst set of representations is sorted into categories.
 140. Thecomputer program product of claim 139, wherein the computer programproduct is operable such that the second set of representations issorted into sub-categories.
 141. The computer program product of claim139, wherein the computer program product is operable such that thesecond set of representations is presented in the form of a list ofsub-categories.
 142. The computer program product of claim 70, whereinthe computer program product is operable such that the first set ofrepresentations are displayed in connection with a web page thatincludes the second set of representations pre-downloaded with the webpage.
 143. The computer program product of claim 142, wherein thecomputer program product is operable such that the second set ofrepresentations are displayed without requiring an additional access toa server.
 144. The computer program product of claim 70, wherein firstpreloaded information derived from the first message is preloaded andinitially hidden, and later displayed in response to a first userinteraction; and second preloaded information derived from the secondmessage is preloaded and initially hidden, and later displayed inresponse to a second user interaction.
 145. The computer program productof claim 144, wherein the first information and the second informationeach includes summary information; and further wherein the firstpreloaded information and the second preloaded information each includesadditional summary information.
 146. The computer program product ofclaim 144, wherein the computer program product is operable such thatthe first preloaded information and the second preloaded informationeach includes a date and time.
 147. The computer program product ofclaim 144, wherein the computer program product is operable such thatthe first preloaded information and the second preloaded informationeach includes a beginning of message text.
 148. The computer programproduct of claim 144, wherein the computer program product is operablesuch that the first preloaded information and the second preloadedinformation are displayed utilizing a tooltip.
 149. The computer programproduct of claim 144, wherein the computer program product is operablesuch that the first preloaded information and the second preloadedinformation are displayed utilizing a static object.
 150. The computerprogram product of claim 144, wherein the computer program product isoperable such that the first preloaded information and the secondpreloaded information are displayed without accessing a server.
 151. Thecomputer program product of claim 144, wherein the computer programproduct is operable such that the first preloaded information and thesecond preloaded information are displayed utilizing a graphical userinterface element of variable size that is determined by the user. 152.The computer program product of claim 144, wherein the first preloadedinformation includes at least a portion of one of the message summariesassociated with the first message.
 153. The computer program product ofclaim 144, wherein the second preloaded information includes at least aportion of one of the message summaries associated with the secondmessage.
 154. The computer program product of claim 144, wherein thefirst preloaded information and the second preloaded informationincludes at least a portion of the message summaries associated with theplurality of first messages.
 155. The computer program product of claim144, wherein the first preloaded information and the second preloadedinformation includes at least a portion of the message summariesassociated with an online forum associated with the second messages.156. The computer program product of claim 70, wherein the computerprogram product is operable such that first preloaded informationderived from the first message is preloaded and initially hidden, andlater displayed in response to a first user interaction.
 157. Thecomputer program product of claim 156, wherein the computer programproduct is operable such that the first message includes the firstpreloaded information.
 158. The computer program product of claim 156,wherein the computer program product is operable such that the firstpreloaded information includes more information with respect to thefirst information.
 159. The computer program product of claim 156,wherein the first information includes summary information; and furtherwherein the first preloaded information includes additional summaryinformation.
 160. The computer program product of claim 156, wherein thecomputer program product is operable such that the first preloadedinformation includes a date and time.
 161. The computer program productof claim 156, wherein the computer program product is operable such thatthe first preloaded information includes at least a beginning of messagetext.
 162. The computer program product of claim 156, wherein thecomputer program product is operable such that the first preloadedinformation is displayed utilizing a tooltip.
 163. The computer programproduct of claim 156, wherein the computer program product is operablesuch that the first preloaded information is displayed utilizing astatic object.
 164. The computer program product of claim 156, whereinthe computer program product is operable such that the first preloadedinformation is displayed without accessing a server.
 165. The computerprogram product of claim 156, wherein the computer program product isoperable such that the first preloaded information is displayedutilizing a graphical user interface element of variable size that isdetermined by the user.
 166. The computer program product of claim 156,wherein the computer program product is operable such that the firstuser interaction includes hovering a cursor.
 167. The computer programproduct of claim 156, wherein the computer program product is operablesuch that the first user interaction includes clicking.
 168. Thecomputer program product of claim 156, wherein the computer programproduct is operable such that the first user interaction includes aninteraction with one of the message summaries.
 169. The computer programproduct of claim 70, wherein the computer program product is operablesuch that the user is capable of posting a new message to be reflectedin the at least one window.
 170. The computer program product of claim169, wherein the computer program product is operable such that the newmessage is posted to an external online forum.
 171. The computer programproduct of claim 169, wherein the computer program product is operablesuch that the new message is posted to an internal online forum. 172.The computer program product of claim 70, wherein the computer code fordynamically determining includes computer code for dynamicallydetermining whether the characters typed so far match one or more textstrings in two or more of the plurality of n-tuples.
 173. The computerprogram product of claim 172, wherein the computer program product isconfigured such that the indicating comprises displaying to the user thetext strings in the two or more of the plurality of n-tuples.
 174. Thecomputer program product of claim 70, wherein the computer programproduct is configured such that the dynamically determining comprisesdetermining whether the characters typed so far match leading text inthe one or more text strings in the one of the plurality of n-tuples.175. The computer program product of claim 70, wherein the computerprogram product is configured such that the dynamically determiningcomprises determining that the characters typed so far match a first oneof the text strings in the one of the plurality of n-tuples, and thatthe characters typed so far do not match a second one of the textstrings in the one of the plurality of n-tuples.
 176. The computerprogram product of claim 70, wherein the computer program product isconfigured such that the first set of representations is a set oftextual representations.
 177. The computer program product of claim 70,wherein the computer program product is configured such that thereceiving the first input from the user comprises receiving input fromthe user indicating a mouse click on the selected one of the first setof representations.
 178. The computer program product of claim 70,wherein the computer program product is configured such that thereceiving the first input from the user comprises receiving first inputfrom the user indicating a mouse cursor hovering over the selected oneof the first set of hyperlink representations.
 179. The computer programproduct of claim 70, wherein the computer program product is configuredsuch that the second set of representations is a set of graphicalrepresentations.
 180. The computer program product of claim 70, whereinthe computer program product is configured such that the receiving thesecond input from the user comprises receiving input from the userindicating a mouse click on the selected one of the second set ofrepresentations.
 181. The computer program product of claim 70, whereinthe computer program product is configured such that the receiving thesecond input from the user comprises receiving first input from the userindicating a mouse cursor hovering over the selected one of the secondset of representations.
 182. The computer program product of claim 70,wherein the computer program product is configured such that thedisplaying the second set of representations comprises displaying thesecond set of representations of the hyperlinks substantiallyimmediately after receiving the first input.
 183. The computer programproduct of claim 70, wherein the computer program product is configuredsuch that the first set of representations is specified by the userbefore displaying the first set of representations.
 184. The computerprogram product of claim 70, wherein the computer program product isconfigured such that the second set of representations is specified bythe user before displaying the second set of representations.
 185. Thecomputer program product of claim 70, wherein the computer programproduct is configured such that the displaying the plurality of messagesummaries is carried out utilizing the website, and the first messageand the second message are capable of being accessed utilizing thewebsite.
 186. The computer program product of claim 70, wherein thecomputer program product is configured such that the displaying theplurality of message summaries is carried out utilizing the website, anda new message is capable of being generated by the user utilizing thewebsite.
 187. The computer program product of claim 70, wherein thecomputer program product is configured such that the displaying theplurality of message summaries is carried out utilizing the website, anda new posting is capable of being generated by the user utilizing thewebsite.
 188. The computer program product of claim 70, wherein thecomputer program product is configured such that the displaying theplurality of message summaries is carried out utilizing the website, anda reply message is capable of being generated by the user utilizing thewebsite.
 189. The computer program product of claim 70, wherein thecomputer program product is configured such that the first message andthe second message are interwoven.
 190. The computer program product ofclaim 70, wherein the computer program product is configured such thatthe user is allowed to control a number of the message summaries thatare displayed.
 191. The computer program product of claim 70, whereinthe computer program product is configured such that the user is allowedto control a number of the message summaries that are displayed via adrop-down list.
 192. The computer program product of claim 70, whereinthe computer program product is configured such that the user is allowedto control a number of the message summaries that are displayed byselecting the number.
 193. The computer program product of claim 70,wherein the computer program product is configured such that the user isallowed to control the manner in which the message summaries aredisplayed utilizing a message time submitted field.
 194. The computerprogram product of claim 70, wherein the computer program product isconfigured such that the user is allowed to enter a key term forcontrolling content of at least one of the first message and the secondmessage.
 195. The computer program product of claim 70, wherein thecomputer program product is configured such that the user is allowed toselect any of the message summaries, such that selecting one of themessage summaries causes message content for a different message to bedisplayed.
 196. The computer program product of claim 70, wherein thecomputer program product is configured such that the first message andthe second message are capable of being accessed via a single browserwindow.
 197. The computer program product of claim 70, wherein thecomputer program product is configured such that revenue is generatedutilizing advertisements.
 198. The computer program product of claim 70,wherein the computer program product is configured such that theplurality of n-tuples are sorted according to the stock ticker symbolthereof independent of whether the received text matches the second textand not the first text.
 199. The computer program product of claim 70,wherein the computer program product is configured such that a subset oftext in at least one of the text strings that matches characters typedso far by the user is visually emphasized.
 200. The computer programproduct of claim 70, wherein the computer program product is configuredsuch that the first text precedes the second text.
 201. The computerprogram product of claim 70, wherein the first set of representationsrepresent another set of hyperlinks.
 202. The computer program productof claim 70, wherein the first set of representations represent a set ofhyperlinks that are different from the hyperlinks represented by thesecond set of representations.
 203. The computer program product ofclaim 70, wherein the website is implemented utilizing AJAX technology.204. The computer program product of claim 70, wherein the computerprogram product is operable such that the second set of representationsare displayed instantaneously.
 205. The computer program product ofclaim 70, wherein the computer program product is operable such that thesecond set of representations are displayed for allowing the user toscan through the hyperlinks before the navigation.
 206. The computerprogram product of claim 70, wherein the second set of representationsincludes a set of logos.
 207. The computer program product of claim 70,wherein the computer program product is operable such that the first setof representations is displayed in a first portion of a web page, and acontent associated with the first set of representations is displayed ina second portion of the web page.
 208. The computer program product ofclaim 70, wherein the computer program product is operable such that thefirst set of representations is displayed in a first frame of a webpage, and a content associated with the first set of representations isdisplayed in a second frame of the web page.
 209. The computer programproduct of claim 70, wherein the computer program product is operablesuch that the first set of representations is displayed in a left frameof a web page, and a content associated with the first set ofrepresentations is displayed in a right frame of the web page.
 210. Thecomputer program product of claim 70, wherein the computer programproduct is operable such that the second set of representations isdisplayed in a first portion of a web page, and a content associatedwith the second set of representations is displayed in a second portionof the web page.
 211. The computer program product of claim 70, whereinthe computer program product is operable such that the second set ofrepresentations is displayed in a left frame of a web page, and acontent associated with the second set of representations is displayedin a right frame of the web page.
 212. The computer program product ofclaim 70, wherein the one or more text strings in the one of theplurality of n-tuples include any of n text strings in the one of theplurality of n-tuples.
 213. The computer program product of claim 70,wherein the computer program product is operable such that content isdisplayed utilizing a graphical user interface element of variable sizethat is determined by the user.
 214. The computer program product ofclaim 70, wherein the computer program product is operable such that theplurality of message summaries are displayed utilizing an aggregationserver.
 215. The computer program product of claim 70, wherein thecomputer program product is operable such that the user is allowed toenter preferences, and the plurality of message summaries are displayedbased on the preferences.
 216. The computer program product of claim 70,wherein the computer program product is operable such that the user iscapable of posting a reply message to be reflected in the at least onewindow.
 217. The computer program product of claim 70, wherein thecomputer program product is operable such that the user is allowed toselect from a plurality of online forums.
 218. The computer programproduct of claim 70, wherein the computer program product is operablesuch that the user is allowed to select from a plurality of onlineforums, utilizing a drop-down menu.
 219. The computer program product ofclaim 70, wherein the plurality of messages includes a plurality ofarticles.
 220. The computer program product of claim 70, wherein theplurality of messages includes a plurality of news articles.
 221. Thecomputer program product of claim 70, wherein the computer programproduct is operable such that the first set of representations eachinclude an image.
 222. The computer program product of claim 70, whereinthe computer program product is operable such that the first set ofrepresentations each include an image that includes text.
 223. Thecomputer program product of claim 70, wherein the computer programproduct is operable such that the second set of representations eachinclude an image.
 224. The computer program product of claim 70, whereinthe computer program product is operable such that the second set ofrepresentations each include an image that represents text.
 225. Thecomputer program product of claim 70, wherein the computer programproduct is operable such that the navigating results in a display of adifferent web page.
 226. The computer program product of claim 70,wherein the computer program product is operable such that thedestination is displayed utilizing the at least one window.
 227. Thecomputer program product of claim 70, wherein the computer programproduct is operable such that the destination is displayed utilizing adifferent window separate from the at least one window.
 228. Thecomputer program product of claim 70, wherein the computer programproduct is implemented utilizing an object-oriented programminglanguage.
 229. The computer program product of claim 70, wherein thecomputer program product is operable such that the display of the secondset of representations enables intuitive and quick scanning through thehyperlinks.
 230. The computer program product of claim 70, wherein thecomputer program product is operable to maximize advertising revenue.231. The computer program product of claim 70, wherein the computerprogram product is operable to maximize advertising revenue by moreefficiently utilizing a display area associated with the at least onewindow.
 232. The computer program product of claim 70, wherein the atleast one window includes a single window.
 233. The computer programproduct of claim 70, wherein at least one of the first set ofrepresentations is a financial-related representation.
 234. The computerprogram product of claim 70, wherein at least one of the second set ofrepresentations is a financial-related representation.
 235. The computerprogram product of claim 70, wherein at least one of the first set ofrepresentations is a stock-related representation.
 236. The computerprogram product of claim 70, wherein at least one of the second set ofrepresentations is a stock-related representation.
 237. The computerprogram product of claim 70, wherein the computer program product isconfigured such that the at least one window is implemented utilizingAJAX technology.
 238. The computer program product of claim 70, whereinthe computer program product is configured such that the website isimplemented utilizing AJAX technology.
 239. The computer program productof claim 70, wherein the computer program product is configured suchthat the second set of representations is preloaded utilizing AJAXtechnology.
 240. The computer program product of claim 70, and furthercomprising computer code for logging in the user.
 241. A system,comprising: a computer processor able to execute logic, the logiccomprising: logic for displaying at least one window in connection witha website; logic for displaying, utilizing the at least one window, astock-related field; logic for receiving a plurality of characters oftext from a user as the user is typing the text utilizing thestock-related field; logic for dynamically determining, after the usertypes each character in the received text, whether the characters typedso far match one or more text strings in one of a plurality of n-tuplesincluding n>1 text strings, each of the plurality of n-tuples includingfirst text representing a stock ticker symbol and second textrepresenting a company name corresponding to the stock ticker symbol;logic for displaying, utilizing the at least one window, a plurality ofmessage summaries; wherein the plurality of message summaries comprisefirst information derived from a first message of a plurality of firstmessages and second information derived from a second message of aplurality of second messages associated with at least one online forum;logic for displaying, utilizing the at least one window, a first set ofrepresentations; logic for receiving first input from the userindicating a selection of one of the first set of representations; logicfor displaying a second set of representations representing a set ofhyperlinks, utilizing the at least one window, in response to receivingthe first input; logic for receiving second input from the userindicating a selection of one of the second set of representations; andlogic for navigating to a destination specified by the selected one ofthe second set of representations, in response to receiving the secondinput.
 242. A system, comprising: means for displaying at least onewindow in connection with a website; means for displaying, utilizing theat least one window, a stock-related field; means for receiving aplurality of characters of text from a user as the user is typing thetext utilizing the stock-related field; means for dynamicallydetermining, after the user types each character in the received text,whether the characters typed so far match one or more text strings inone of a plurality of n-tuples including n>1 text strings, each of theplurality of n-tuples including first text representing a stock tickersymbol and second text representing a company name corresponding to thestock ticker symbol; means for displaying, utilizing the at least onewindow, a plurality of message summaries; wherein the plurality ofmessage summaries comprise first information derived from a firstmessage of a plurality of first messages and second information derivedfrom a second message of a plurality of second messages associated withat least one online forum; means for displaying, utilizing the at leastone window, a first set of representations; means for receiving firstinput from the user indicating a selection of one of the first set ofrepresentations; means for displaying a second set of representationsrepresenting a set of hyperlinks, utilizing the at least one window, inresponse to receiving the first input; means for receiving second inputfrom the user indicating a selection of one of the second set ofrepresentations; and means for navigating to a destination specified bythe selected one of the second set of representations, in response toreceiving the second input.